Namespace MessageBoxes

    Module mMsgBoxVars

        Public Enum MsgBoxButtons
            OK = 0
            YesNo = 1
            Input = 2
        End Enum

        Public Enum MsgBoxResults
            OK = 0
            Yes = 1
            No = 2
        End Enum

        Public Structure MsgBoxStruct
            Dim mName As String
            Dim mText As String
            Dim mButtons As MsgBoxButtons
            Dim mMaxInputLen As Integer
            Dim mMaskInput As Boolean
            Dim mValidChars As String
            Dim mDelegate As MsgBoxResultDelegate
        End Structure

        Public Structure MsgBoxResult
            Dim mName As String
            Dim mResult As MsgBoxResults
            Dim mInput As String
        End Structure

        Public mMsgBoxes As Queue

        Public Delegate Sub MsgBoxResultDelegate(ByRef result As MsgBoxResult)
        Public rText As Rectangle

        Public sStateNotice As String
        Public rStateText As Rectangle

    End Module

End Namespace